# 定义一个过滤器
import functools
import logging

from flask import session, g, jsonify, render_template

from info.modules.models import User
from info.utils.response_code import RET


def do_list_view(index):
    if index == 1:
        return 'first'
    if index == 2:
        return 'second'
    if index == 3:
        return 'third'
    else:
        return ''


# 我们在这里实现一个装饰器，用于返回用户的信息，因为获取用户的信息每个页面都要获取，
# 所以这样好一点

def set_func(func):
    @functools.wraps(func)
    def call_func(*args, **kwargs):
        # 在这里检验用户的登录状态
        user_id = session.get('user_id', None)

        # 进行判断
        user = None
        if user_id:
            # 如果用户id存在
            try:
                user = User.query.filter(User.id == user_id).first()
            except Exception as e:
                # 用日志记录
                logging.error(e)
                return jsonify(errno=RET.SESSIONERR, errmsg='请登录')

        g.user = user

        return func(*args, **kwargs)
    return call_func



